package com.um.jdy.common.charge.entity.dto;

import com.um.springboot.starter.orm.entity.BaseDTO;
import lombok.Data;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;

@Data
public class OrderDTO extends BaseDTO {

	 @ApiModelProperty(value = "租户ID")
	 protected String comId;

	 @ApiModelProperty(value = "用户id")
	 protected String memberUserId;

	 @ApiModelProperty(value = "场站id")
	 protected String deviceStationId;

	 @ApiModelProperty(value = "商户id")
	 protected String platformMerchantId;

	 @ApiModelProperty(value = "订单号")
	 protected String orderNo;

	 @ApiModelProperty(value = "收费方案ID")
	 protected String deviceFeeId;

	 @ApiModelProperty(value = "商户订单号")
	 protected String outTradeNo;

	 @ApiModelProperty(value = "充电桩id")
	 protected String devicePileId;

	 @ApiModelProperty(value = "插座id")
	 protected String deviceGunId;

	 @ApiModelProperty(value = "充电桩名称")
	 protected String deviceName;

	 @ApiModelProperty(value = "充电桩IMEI")
	 protected String deviceImei;

	 @ApiModelProperty(value = "充电桩码")
	 protected String deviceCode;

	 @ApiModelProperty(value = "设备类型：EB-单车桩 EV-汽车桩 EBox-充电柜 BSB-换电柜 PB-充电宝")
	 protected String deviceType;

	 @ApiModelProperty(value = "端口号")
	 protected Integer port;

	 @ApiModelProperty(value = "创建订单时间")
	 protected Date createTime;

	 @ApiModelProperty(value = "信用类型:deposit-押金 wx_score-微信支付分")
	 protected String creditType;

	 @ApiModelProperty(value = "开始时间")
	 protected Date startTime;

	 @ApiModelProperty(value = "截止时间")
	 protected Date endTime;

	 @ApiModelProperty(value = "收费单价规格（如：1元3小时间）")
	 protected String itemPrice;

	 @ApiModelProperty(value = "实时统计充电时长(秒)")
	 protected Integer duration;

	 @ApiModelProperty(value = "服务费金额(分)")
	 protected Integer serviceFee;

	 @ApiModelProperty(value = "电费金额(分)")
	 protected Integer energyFee;

	 @ApiModelProperty(value = "充电电量（W/h）")
	 protected Integer chargeCapacity;

	 @ApiModelProperty(value = "实际充电金额(分)")
	 protected Integer chargeAmount;

	 @ApiModelProperty(value = "最终订单金额")
	 protected Integer orderAmount;

	 @ApiModelProperty(value = "支付充电时长（秒）")
	 protected Integer paySeconds;

	 @ApiModelProperty(value = "支付金额(分)")
	 protected Integer payAmount;

	 @ApiModelProperty(value = "支付方式 Wxpay-微信支付，Wallet-余额支付 Alipay-支付宝支付 Bank-银行卡 Deposit-押金支付 None-无支付")
	 protected String payWay;

	 @ApiModelProperty(value = "支付时间")
	 protected Date payTime;

	 @ApiModelProperty(value = "支付状态，UnPayed-未支付，Payed-已支付")
	 protected String payStatus;

	 @ApiModelProperty(value = "订单状态 NotStarted-未充电｜Charging-充电中｜Completed-充电完成 | Failure-启动失败 | Cancel-已取消")
	 protected String status;

	 @ApiModelProperty(value = "结束类型：按不同订单的前缀枚举来区分")
	 protected String endType;

	 @ApiModelProperty(value = "退款金额(分)")
	 protected Integer returnAmount;

	 @ApiModelProperty(value = "退款到 Wxpay-微信支付，Wallet-余额支付 Alipay-支付宝支付 Bank-银行卡 Deposit-押金支付")
	 protected String returnWay;

	 @ApiModelProperty(value = "退款发生时间")
	 protected Date returnTime;

	 @ApiModelProperty(value = "退款状态，None-无退款，Success-退款成功，Failure-退款失败")
	 protected String returnStatus;

	 @ApiModelProperty(value = "利润(分)公式=充电金额-所有佣金")
	 protected Integer profit;

	 @ApiModelProperty(value = "是否异常：No-否，Yes-是")
	 protected String isException;

	 @ApiModelProperty(value = "异常状态，No-待处理，Yes-已处理")
	 protected String exceptionStatus;

	 @ApiModelProperty(value = "异常类型：按不同订单的前缀枚举来区分")
	 protected String exceptionType;

	 @ApiModelProperty(value = "是否免费充电")
	 protected String isFree;

	 @ApiModelProperty(value = "免费充电金额（分）")
	 protected Integer freeAmount;

	 @ApiModelProperty(value = "是否刷卡订单：No-否，Yes-是")
	 protected String isCard;

	 @ApiModelProperty(value = "是否投币订单：No-否，Yes-是")
	 protected String isCoin;

	 @ApiModelProperty(value = "是否月卡订单：No-否，Yes-是")
	 protected String isMonth;

	 @ApiModelProperty(value = "远程停止次数，大于1说明停止不了，平台应该自己结束")
	 protected Integer remoteStopCount;

	 @ApiModelProperty(value = "是否分账")
	 protected String isProfitSharing;

	 @ApiModelProperty(value = "分账状态")
	 protected String profitSharingStatus;

	 @ApiModelProperty(value = "支付服务商订单号")
	 protected String transactionId;

	 @ApiModelProperty(value = "商户分账订单号")
	 protected String profitSharingOutTradeNo;

	 @ApiModelProperty(value = "优惠券id")
	 protected String activityCouponsUserId;

	 @ApiModelProperty(value = "优惠券金额")
	 protected Integer couponsAmount;

	 @ApiModelProperty(value = "优惠券描述")
	 protected String couponsRemark;

	 @ApiModelProperty(value = "满减金额")
	 protected Integer discountsAmount;

	 @ApiModelProperty(value = "满减活动类型：Money-满减金额｜Discount-满减折扣")
	 protected String discountsType;

	 @ApiModelProperty(value = "满减活动描述")
	 protected String discountsRemark;


}
